{\rtf1\ansi\ansicpg936\cocoartf1561\cocoasubrtf600
{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;\f1\fnil\fcharset134 PingFangSC-Regular;\f2\fswiss\fcharset0 Helvetica;
\f3\fnil\fcharset0 Menlo-Bold;\f4\fnil\fcharset0 Menlo-Italic;}
{\colortbl;\red255\green255\blue255;\red110\green32\blue13;\red255\green255\blue255;\red0\green0\blue0;
\red180\green0\blue98;\red86\green96\blue107;\red186\green0\blue17;\red77\green0\blue158;}
{\*\expandedcolortbl;;\csgenericrgb\c43137\c12549\c5098;\csgenericrgb\c100000\c100000\c100000;\csgenericrgb\c0\c0\c0;
\csgenericrgb\c70588\c0\c38431\c80000;\csgenericrgb\c33600\c37617\c42000;\csgenericrgb\c72941\c0\c6667;\csgenericrgb\c30196\c0\c61961;}
\paperw11900\paperh16840\margl1440\margr1440\vieww16880\viewh9020\viewkind0
\deftab1384
\pard\tx1384\pardeftab1384\pardirnatural\partightenfactor0

\f0\fs56 \cf2 \cb3 #pragma mark -  
\f1 \'c8\'e7\'b9\'fb\'cf\'eb\'b1\'a3\'b3\'d62502\'a3\'ac2503\'a3\'ac\'c7\'eb\'c9\'be\'b3\'fd\'bf\'c9\'d1\'a1framwork\'a3\'ac\'b2\'a2\'c7\'d2
\f0 kct  .m
\f1 \'d0\'e8\'d2\'aa\'cc\'ed\'bc\'d3\'b5\'c4\'c4\'da\'c8\'dd
\f2\fs24 \cf0 \

\f0\fs56 \cf2 #pragma mark - 
\f1 \'bd\'d3\'ca\'dc\'ca\'fd\'be\'dd
\f2\fs24 \cf0 \

\f0\fs56 \cf4 - (
\f3\b \cf5 void
\f0\b0 \cf4 )onReceive: (NSData *)recvData \{
\f2\fs24 \cf0 \

\f0\fs56 \cf4     
\f4\i \cf6 // 2018
\f1\i0 \'c4\'ea
\f4\i 11
\f1\i0 \'d4\'c2
\f4\i 19
\f1\i0 \'c8\'d5
\f4\i 10:26:22 kct 
\f1\i0 \'be\'b2\'cc\'ac\'b0\'fc\'d0\'e8\'d2\'aa\'b5\'c4\'c4\'da\'c8\'dd
\f2\fs24 \cf0 \

\f0\fs56 \cf4     
\f3\b \cf5 if
\f0\b0 \cf4 ([
\f3\b \cf5 self
\f0\b0 \cf4 .delegate respondsToSelector:
\f3\b \cf5 @selector
\f0\b0 \cf4 (onDataReceive:)])
\f2\fs24 \cf0 \

\f0\fs56 \cf4     \{
\f2\fs24 \cf0 \

\f0\fs56 \cf4         [
\f3\b \cf5 self
\f0\b0 \cf4 .delegate onDataReceive: recvData];
\f2\fs24 \cf0 \

\f0\fs56 \cf4     \}
\f2\fs24 \cf0 \

\f0\fs56 \cf4     
\f2\fs24 \cf0 \

\f0\fs56 \cf4 \}
\f2\fs24 \cf0 \

\f0\fs56 \cf2 #pragma mark - 
\f1 \'bb\'e1\'bb\'b0\'b2\'e3\'b5\'c4\'ce\'d5\'ca\'d6
\f2\fs24 \cf0 \

\f0\fs56 \cf4 -(
\f3\b \cf5 void
\f0\b0 \cf4 )onHandShakeDone
\f2\fs24 \cf0 \

\f0\fs56 \cf4 \{
\f2\fs24 \cf0 \

\f0\fs56 \cf4     NSLog(\cf7 @"MTK  shake hands "\cf4 );
\f2\fs24 \cf0 \

\f0\fs56 \cf4     
\f4\i \cf6 //
\f1\i0 \'ce\'d5\'ca\'d6
\f2\fs24 \cf0 \

\f0\fs56 \cf4     
\f4\i \cf6 // 2018
\f1\i0 \'c4\'ea
\f4\i 11
\f1\i0 \'d4\'c2
\f4\i 19
\f1\i0 \'c8\'d5
\f4\i 10:26:22 kct 
\f1\i0 \'be\'b2\'cc\'ac\'b0\'fc\'d0\'e8\'d2\'aa\'b5\'c4\'c4\'da\'c8\'dd
\f2\fs24 \cf0 \

\f0\fs56 \cf4     
\f3\b \cf5 if
\f0\b0 \cf4 ([
\f3\b \cf5 self
\f0\b0 \cf4 .delegate respondsToSelector:
\f3\b \cf5 @selector
\f0\b0 \cf4 (onHandShakeSucceseDone)])
\f2\fs24 \cf0 \

\f0\fs56 \cf4     \{
\f2\fs24 \cf0 \

\f0\fs56 \cf4         [
\f3\b \cf5 self
\f0\b0 \cf4 .delegate onHandShakeSucceseDone];
\f2\fs24 \cf0 \

\f0\fs56 \cf4     \}
\f2\fs24 \cf0 \

\f0\fs56 \cf4 \}
\f2\fs24 \cf0 \

\f0\fs56 \cf4 - (
\f3\b \cf5 void
\f0\b0 \cf4 )onConnectStateChange: (
\f3\b \cf5 int
\f0\b0 \cf4 )state \{
\f2\fs24 \cf0 \

\f0\fs56 \cf4     
\f4\i \cf6 // 2018
\f1\i0 \'c4\'ea
\f4\i 11
\f1\i0 \'d4\'c2
\f4\i 19
\f1\i0 \'c8\'d5
\f4\i 10:26:22 kct 
\f1\i0 \'be\'b2\'cc\'ac\'b0\'fc\'d0\'e8\'d2\'aa\'b5\'c4\'c4\'da\'c8\'dd
\f2\fs24 \cf0 \

\f0\fs56 \cf4     
\f3\b \cf5 if
\f0\b0 \cf4 ([
\f3\b \cf5 self
\f0\b0 \cf4 .delegate respondsToSelector:
\f3\b \cf5 @selector
\f0\b0 \cf4 (onConnectStateChange:)])
\f2\fs24 \cf0 \

\f0\fs56 \cf4     \{
\f2\fs24 \cf0 \

\f0\fs56 \cf4         [
\f3\b \cf5 self
\f0\b0 \cf4 .delegate onConnectStateChange: state];
\f2\fs24 \cf0 \

\f0\fs56 \cf4     \}
\f2\fs24 \cf0 \

\f0\fs56 \cf4 \}\
\
\cf2 #pragma mark -  
\f1 \'c8\'e7\'b9\'fb\'cf\'eb\'b1\'a3\'b3\'d62502\'a3\'ac2503\'a3\'ac\'c7\'eb\'c9\'be\'b3\'fd\'bf\'c9\'d1\'a1framwork\'a3\'ac\'b2\'a2\'c7\'d2
\f0 kct  .h
\f1 \'d0\'e8\'d2\'aa\'cc\'ed\'bc\'d3\'b5\'c4\'c4\'da\'c8\'dd\
\

\f3\b \cf5 @protocol
\f0\b0 \cf4  myProtocol<\cf8 \cb3 NSObject\cf4 \cb3 >
\f2\fs24 \cf0  \

\f0\fs56 \cf4 - (
\f3\b \cf5 void
\f0\b0 \cf4 )onHandShakeSucceseDone;
\f4\i \cf6 //
\f1\i0 \'ce\'d5\'ca\'d6
\f2\fs24 \cf0 \
\

\f3\b\fs56 \cf5 @end}